fudgeFactor = 0 --mm
baseThickness = 0.6 --mm
wallthickness = 0.5 --mm
dentSize = 1.0 --mm
sideLength = 36.36 --mm, used for creating backCover
boxheight = 13.00 --mm
screwMountHeight = 7.5

cutOut1Width = 4.56
cutOut1Height = 11.24
cutOut1XOffset = 1.2 + fudgeFactor / 2
cutOut1YOffset = 6.2 + fudgeFactor / 2

cutOut2Width = 7.25
cutOut2Height = 4.56
cutOut2XOffset = 15.5 + fudgeFactor / 2
cutOut2YOffset = 1.2 + fudgeFactor / 2

cutOut3Width = 8.72
cutOut3Height = 4.56
cutOut3XOffset = 9.35 + fudgeFactor / 2
cutOut3YOffset = 30.4 + fudgeFactor / 2

sideSlotSide = 4.0
sideSlotHeightPos = screwMountheight - (sideSlotSide/2) - 0.1

screwMountRadius = 2.0
screwSeparation = 28.29 --mm
screwDiameter = 1.87
centerHoleDiameter = 15.33 --mm
keySlotWidth = 4.0 --mm
keySlotHeight = 1.9 --mm
 
base = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:(sideLength - (2*wallThickness)) width:(sideLength - (2*wallThickness)) height:boxheight mapcoords:on pos:[0,0,0] isSelected:on 
backCover = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:sideLength width:sideLength height:(boxheight + baseThickness) mapcoords:on pos:[0,0,0] isSelected:on 
/*sideSlot1 = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:(dentSize) width:sideSlotSide height:(sideSlotSide/2) mapcoords:on pos:[0,(sideLength/2 - dentSize/2),sideSlotHeightPos] isSelected:on
sideSlot2 = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:(dentSize) width:sideSlotSide height:(sideSlotSide/2) mapcoords:on pos:[0,-(sideLength/2 - dentSize/2),sideSlotHeightPos] isSelected:on
sideSlot3 = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:sideSlotSide width:(dentSize) height:(sideSlotSide/2) mapcoords:on pos:[(sideLength/2 - dentSize/2),0,sideSlotHeightPos] isSelected:on
sideSlot4 = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:sideSlotSide width:(dentSize) height:(sideSlotSide/2) mapcoords:on pos:[-(sideLength/2 - dentSize/2),0,sideSlotHeightPos] isSelected:on

	
select base
ProBoolean.CreateBooleanObject base sideSlot1 2 0 1
ProBoolean.CreateBooleanObject base sideSlot2 2 0 1
ProBoolean.CreateBooleanObject base sideSlot3 2 0 1
ProBoolean.CreateBooleanObject base sideSlot4 2 0 1	
*/

cutOut1  = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:cutOut1Height width:cutOut1Width height:(2*baseThickness) mapcoords:on pos:[-sideLength/2  + cutOut1Width/2 + cutOut1XOffset,-sideLength/2 + cutOut1Height/2 + cutOut1YOffset,boxHeight] isSelected:on -- pursposely don't subtract wallthickness	
cutOut2  = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:cutOut2Height width:cutOut2Width height:(2*baseThickness) mapcoords:on pos:[-sideLength/2  + cutOut2Width/2 + cutOut2XOffset,-sideLength/2 + cutOut2Height/2 + cutOut2YOffset,boxHeight] isSelected:on -- pursposely don't subtract wallthickness	
cutOut3  = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:cutOut3Height width:cutOut3Width height:(2*baseThickness) mapcoords:on pos:[-sideLength/2  + cutOut3Width/2 + cutOut3XOffset,-sideLength/2 + cutOut3Height/2 + cutOut3YOffset,boxHeight] isSelected:on -- pursposely don't subtract wallthickness	

select backCover
ProBoolean.CreateBooleanObject backCover base 2 0 1
ProBoolean.CreateBooleanObject backCover cutOut1 2 0 1
ProBoolean.CreateBooleanObject backCover cutOut2 2 0 1
ProBoolean.CreateBooleanObject backCover cutOut3 2 0 1	

backCover.rotation.y_rotation = 180
backCover.pos.z += boxheight + wallThickness
	


	